@database Picticon.guide @node "Main" "Main" @{b}@{fg highlight}Picticon V0.96@{ub}@{fg text} @{i}December 5, 1994@{ui} This document describes and explains @{b}@{fg highlight}Picticon V0.96@{ub}@{fg text}, a picture to icon convertor that requires OS3.x. Datatypes, palette sharing, and appicons are a few of the features. All binaries, executables, source and documentation is @{fgshine}Copyright 1993, 1994 by Chad Randall@{fg text}. All Rights Reserved. Please read the section "Copying Disclaimers" for more information. @{"Copying Disclaimers " link "Copying"} Some legal information. @{"Introduction " link "Intro"} A brief introduction. @{"Requirements " link "Require"} What you will need in order to run. @{"Usage " link "Usage"} How to utilize the various features. @{"Tooltype Summary " link "Tooltypes"} A complete listing of tooltypes and args. @{"Known " link "Bugs"} A list of known bugs, and a to-do list. @{"History " link "history"} What has been done lately. @{"Questions Answers " link "QA"} A small list of Q&A. @{"Notes on Newicons " link "Newicons"} Some ideas, hints, and solutions. @{"Credits Author " link "Author"} About me, and some thanks. @endnode @NODE "Copying" "Copying and Disclaimers" @prev "Main" @next "Intro" Copying and Disclaimers @{fg shine}Picticon@{fg text} was thrown together in a few days using bits and pieces of @{"Iconian" link "Iconian" 0}. If you haven't gotten a copy of Iconian, find one. It is the number one OS3.x icon editor you can get (IMHO). Since @{fg highlight}Picticon@{fg text} is a patchwork program that's held together by spaghetti sauce, many bugs will probably show up. I will honestly claim that I can get consistent, satisfactory results at this time. If you do run across any, please let me know. SEE: @{"Bugs" link "Bugs" 0} Everything that this archive contains that was created by me is copyrighted. You may not use this copyrighted material in your own programs, archives, or creations without my express permission. Although this archive and it's contents are copyrighted, you may freely copy them if no charges are incurred. A nominal fee may be charged for media costs, plus 50 cents (US) for labor. This means a disk copy, so the entire disk may not be sold for more than the cost of the disk plus 50 cents (US). Of course, shipping is separate. If you receive a disk that you feel you paid too much for, please spread the word. I personally don't use @{b}@{fg shine}PD houses@{ub}@{fg text}, but many do. So warn your fellow Amigans about excessive prices. There are several exceptions to this. @{b}@{fg shine}Fred Fish@{ub}@{fg text} may include this program, of course. He is the one spot any Amigan should be able to look to for quality material. @{b}@{fg shine}Aminet@{ub}@{fg text} also has free distribution rights. This is another high-quality distribution network that should not be hampered in any way. Any @{b}@{fg shine}CD collection@{ub}@{fg text} can include @{fg highlight}Picticon@{fg text} for free. CD's are a great source for programs. Publishers of CD's rarely (never?) take seem to take advantage of end users. (Unless they were to *only* include Picticon on a CD and then charge 19.95... yea right) @{b}@{fg shine}Magazines@{ub}@{fg text} wishing to include @{fghighlight}Picticon@{fg text} on a coverdisk may do so on one condition. I'd like a copy of the specific issue mailed to me. My address is at the end of this guide. 10-30$ isn't alot considering all the issues a magazine sells. Is it? (A big thanks to Amiga User International for asking for Iconian in the past.) The source code "doloaddt.m" may be included into your E programs. Special copyrights and conditions that apply to these works appear in "doloaddt.readme". @endnode @node "Intro" "Introduction" @prev "Copying" @next "Require" Introduction @{fg highlight}Picticon@{fg text} is a conversion program that creates "thumbnail" icons from pictures. This is accomplished through datatypes, and therefore many various formats are supported. Also, palette sharing routines are used to remap these scaled icons to the current Workbench's palette. Unlike previous similar programs, many options are available to customize what these icons look like. These include background images, size text, centering, and sizes from real small to extrodinary large. SEE: @{"Tooltype Summary" link "Tooltypes" 0} A graphical status window is opened if run from Workbench or a Appicon. This status window will be opened and closed many times, but it's position is remembered until you turn the computer off. If you wish to set a permanent default position, then copy the file "Picticon.prefs" from ENV: to ENVARC:. All visual information may be turned off by the QUIET tooltype@{"QUIET tooltype" link "Tooltypes" 0}. This includes the status window and/or CLI output. (Note, the CLI QUIET switch isn't operational, so use the >NIL: pipe for now.) New features of version 0.90 include aspect scaling, fractional scaling, faster rendering, HAM support, and a complete CLI interface. New features of version 0.95 include @{"newicon" link "Newicons"} support and multiple CLI filenames and/or match-patterns. New features of version 0.96 include aborting multiple picture conversions and disabling the AppItem. There are three ways to run @{fg highlight}Picticon@{fg text}. CLI: Recommended usage would be from a script. A sample script is included. Workbench: Seleting multiple icons, then double-clicking Picticon's icon will invoke conversion of the selected pictures. Appicon: If run from Workbench without passed files, an Appicon will be opened. Any "dropped" files will be processed. To remove Picticon, just doubleclick the appicon and select "Quit". @endnode @node "Require" "Requirements" Requirements Any Amiga running at least Kickstart 3.0 and Workbench 3.0. At least 1 megabyte of RAM is required. 2 megs of CHIP and 4 megs of FAST is recommended. A 68000, but a faster processor is recommended. The external librarys "iffparse", "diskfont", and "mathtrans" of at least version 37. All these are standard, so no problems should arise. A strong knowledge of palettes, colors, and tooltypes/cli is recommended for full feature utilization. A nice set of pictures. Come on, at least one. :) @endnode @node "Usage" "Usage" Usage Just double click the icon for an instant result. Then drop a picture icon onto the newly created appicon. If you need the picture to show up on Workbench, use the "Window-> Show-> All Files" Workbench menu option. Read the section "@{"Tooltype Summary" link "Tooltypes" 0}" for some better info on creating custom backgrounds, sizes, and overall looks. The CLI accepts multiple files and/or match-patterns. Example: picticon pictures:#?.gif store:gifs/#?.gif ram:(#?.iff|#?.ilbm|#?.pic) @endnode @node "Tooltypes" "Tooltype Summary" Tooltype Summary x a numerical value B a boolean value (only YES or NO, TRUE or FALSE are accepted) $ a string, usually a file with directory path () What the option defaults to APPICON=$ ('ENV:SYS/def_appicon') then, (program's icon) then, ('ENV:SYS/def_tool') then, (default tool icon supplied by Workbench) Names a user defined icon for the appicon image. X and Y positions are set to NO_ICON_POSITION unless overridden by APP_X_POS and/or APP_Y_POS. APP_X_POS=x (NO_ICON_POSITION) APP_Y_POS=x (NO_ICON_POSITION) Specifies where the appicon will appear, in typical unreliable Workbench fashion. ASPECT_X=x (1) ASPECT_Y=y (1) Defines your screen aspect ratios. If you are in hires, non-interlaced NTSC, then you could specify "ASPECT_X=2" and "ASPECT_Y=1". This states that there are 2 horizontal pixels to every 1 vertical. BACKGROUND_ICON=$ (none) Names a background you wish to overlay the picture over. There is no default. If the named icon does not exist, a blank workspace will be used. CENTER=B (NO) Centers the image in the PIC___POS/PIC___SIZE rectangle. Otherwise, it'll be upper-left justified. CHUNKYMODE=B (NO) Turns on chunky image conversion. This may allow certain types of graphic boards to save correct looking icons. The conversion process is a bit slower, but much safer. DITHER=B (YES) Turns error-diffusion dithering on or off. FREE_ICON_POS=B (NO) If on, all saved icons will be "unsnapshot". If off, then the template icon's position will be used. FORCE_EIGHT=B (NO) Saves the icons with 8 planes, always. This will only help with icons created with 3 planes (8 colors), and a MagicWB style palette setup. Hopefully, everyone has switched to "shovecolors" by now, and won't need this option... :) HIGHPEN=x (256) Specifies the highest pen to use. A value of 4 or 8 is useful for cross-computer displaying. LOWPRI=B (NO) Turn this on to allow Picticon to run at -1 priority. Usefull for background processing of many images. MAXIWIDTH=x (128) MAXIHEIGHT=x (100) This is the workspace you wish to allocate to the processing engine. It ranges from 50 to 1000 in size. If you specify too small of a number, your icons may come out chopped off. The default values Usually work fine. NEWICON=B (NO) Saves newicons. Original image is replaced with a "dot" image. The maximum size is reduced to 92x92 pixels and is enforced. Any background templates are ignored, as these are not color-mapped yet. See: @{"Newicons" link "Newicons"} NOAPPICON=B (NO) Disables the creation of an AppItem (Workbench's Tools menu). PIC_X_POS=x (0) PIC_Y_POS=x (0) PIC_X_SIZE=x (size of buffer (128)) PIC_Y_SIZE=x (size of buffer (100)) Creates a rectangle to place the scaled image into. This can be used along with BACKGROUND_ICON to create frames. See my examples. Also, see the CENTER tooltype. QUIET=B (NO) Turns off all status output, including messages and the status window. Not tested much, so take care. SHOWSIZE_NORMAL=B (NO) This overrides: SHOWSIZE_OUTLINE=B (NO) The size text can be 1 of three styles. It defaults to a shadow look, but a normal font or outline style can be specified. NORMAL overrides OUTLINE. Use OUTLINE if you expect the text to be displayed over a confusing background. SHOWSIZE_TALL=B (NO) Tells the show size renderer to use the 8 pixel high font instead of the 6 pixel high. Useful for interlaced displays. SHOWSIZE_X=x (no display) SHOWSIZE_Y=y (no display) Will display the image size using one of two built in fonts. These coordinates specify the upper-left position, not the baseline. The height is 6 unless SHOWSIZE_TALL is turned on, in which case it's 8. Use a X coordinate of -1 to center the display under the scaled image. TEMPLATE_ICON=$ ('ENV:sys/def_picture') then, ('ENV:sys/def_project') then, (default project icon supplied by Workbench) Names a icon to get tooltypes and positions from. Only the "meat" is used, not the image. To specify an image, see the tooltype BACKGROUND_ICON. @endnode @node "Bugs" "Known Bugs" Known Bugs (1) ANNOYANCE A small bug that makes usage annoying. (2) VISUAL A bug which makes visual output unattractive. (3) GENERAL A general performance lack of a feature. (4) SERIOUS Will not crash the machine, but will require a reboot. (5) CRITICAL This is a spectacular crash. (2) If your screen font is too wide, some text may be chopped off. This window width is set at 400 pixels until I find a reasonable solution. (4) Sometimes the JPEG datatype will freeze and then refuse to respond to all future requests. I'm not sure about the entire nature, but the only solution is a reboot. It will affect *ALL* programs afterwards, so it is probably the JPEG datatype's fault. ? Sending the Picticon process a signal via XOper usually restarts the JPeg datatype. Any good Amiga user will have XOper sitting on his/her hard drive. Just send a $FFFFFFFF signal to Picticon's process. Repeat if neccessary. (3) Any picture that's smaller than the domains (pic_x_size, pic_y_size) will be ignored by the aspect scaler. This is not too bad, as small images don't scale well. (3) Some small brushes seem to create a black rectangle. Unknown as to why this happens. @endnode @node "history" "History" o whatis.library is now optional! o Tooltypes now support "TRUE" along with "YES". o Closegadget added to progress window. o AppItem is optional. 0.95b o Included correct executable with archive! o Added newicons support. o Added whatis support. o Wildcard support from CLI. o Multiple filenames from CLI. o CTRL-C support. @endnode @node "todo" "Stuff to do" To-do o Allow an entire directory to be processed when a drawer icon is dropped on the app-icon. o Fix datatype scaler's handling of certain small images. ? Maybe a frame around the image, to distinguish it from the background? ? A GUI preference program/window to make easy option changes? @endnode @node "QA" "Q&A" Questions and Answers (Q&A) Q - When loading JPegs, it takes an awfully long time... A - JPegs are slow, even on fast computers. Just run them in the background (@{"LOWPRI tooltype" link "Tooltypes" 0}) and do something else. (Wow, multitasking.) @endnode @node "Author" "Author Info" Author Info The author: US.Snail: Chad Randall 229 S.Washington, Manchester, Michigan 48158-9680 USA Internet: crandall@garnet.msen.com Phone: (313)-428-0113 Thanks to: Jay Miner. For creating such a unique, wonderfull machine. May he rest in peace. Wouter van Oortmerssen. For "E" in all it's glory. E 3.0 is GREAT! Lionel Vintenat. The French locale catalog, for both Iconian and Picticon. Mark 'theMUG' Rose. For Picticon's icon. Hope he don't mind me ripping it from his archive, and modifing the app_icon a bit. Colin Bell. My datatype routines are partially based on his. David Larsson. For King-CON, of course! D.L. McPaul. For the AmigaGuide Writer, used to create parts of this guide. Iconian betatesters. For finding so many bugs, I still haven't gotten them all. I3 is on it's way! Commodore (RIP). For all their mismanagment, non-marketing, unfulfilled promises, and overall empty-headedness. :P PPPPHTTT Any company willing to hire me. Hey, I'll do free-lance work! Mail me. Other works by C.Randall Previous Aminet released works include: @{"Iconian" link "Iconian" 0} The premier 3.x icon editor that almost does it all, for now. MWB2NI Converts a "magic-wb" icon into a "newicon". KiSS Player Supports the KISS/GS format, and upto 256 colors. kissutils CLI based programs to convert ppm<->kissdata. Randomcopy Copies one file from a pattern list to a destination file. Half-n-Half Fakes 1 meg of "fast" memory from 2 megs of "chip". Fake20 Hacks execbase into thinking you have a '20 installed. ColorSlash A boot picture based on the OS3.x system disks. Yet to be released Amiga programs: Iconian III A complete rewrite of Iconian 1.98. Other notable ancient projects: Pit Bomber 4 mini-games in one. PET Bust Out Break out clone. PET Land Unique game where 2 players fight for land. VIC=20 Cartoon DBase Keep track of Saturday cartoons. VIC=20 To Hell&Back Ultima clone. C-64 Land Wars Updated Vic game. C-64 Un-named Unfinished Wizardry/Ultima clone. (Too big for me) IBM B-Paint Monochrome paint program. IBM C-Paint 256 color paint program with mouse support. IBM Chess-4 A four player chess program based on Hoyles rules. IBM Tetra Tetris clone. IBM Petra Well-tris clone. IBM Tank Wars Tank trajectory, landscape battle thingy. IBM Gems 1,2 Two versions of Columns clone. IBM Chess-4 IBM conversion for AmigaBASIC. Amiga VCR database Simple movie indexer. Amiga PopEd Program to create Populous gfx landscapes from IFFs. Amiga Z-Mix Set of 2080 color display programs for OLD chipset. Amiga Gems 3-6 4 versions of Columns clone. Amiga btw, you can ask to see any of the above, but don't expect much. Most of it's buried and long forgotten. @endnode @node "Iconian" "Iconian" Iconian A great (IMHO) icon editor that deserves a look at. Features abound: Features of Iconian v1.98 Support for sizable windows and custom fonts. Multiple undos Appwindows Custom magnification levels Upto 256 colors 3.x palette sharing RGB color editing Integer scaling of oversized brushes Optional remapping of IFFs to screen colors Can save 8 plane icons which stay "normal" regardless of screen depth. Full range of drawing tools including beveled boxes Recolors 1.3 icons Clipboard support Extensive keyboard support Ability to cut and paste brushes Drawing with text, including selectable font and styles 100% system supported, no reqtools/explode/iff/powerpacker required Look for it on Aminet in the gfx/edit directory. It requires OS 3.x. @endnode @NODE "Newicons" "Newicons" Newicons First off, we must first clarify the two (2) parts of Newicon that exist. There's the icon collection, and then there's the system patch. I personally don't care for the iso-icons, so I won't be dealing with them. We are interested in the Newicon system-patch, exclusively. To enable saving of newicons, you need to specify a "NI" on the CLI line, or a "NEWICON=YES" tooltype from Workbench. Some features of Picticon become disabled when this is active. You can't make icons larger than 92x92 pixels, as Newicons won't allow it. No background image, as the palettes cannot be merged into the datatype palette. Dithering is not possible, as the scaling function uses the original palette. This means displaying a newicon image will result in considerably less quality than a dithered one. But of course, the trade off is that the newicon will look better on a different screen depth and/or palette, whereas an original icon will only look good on it's original screen format. A newicon file will usually be a bit larger if the picture has 256 colors, but smaller if it's 2-32 colors. Consider all these trade-offs, and decide which is best for you. Time to experiment. When Picticon saves a newicon, it creates a "dot" icon for the original icon. This means if you trade the icon to someone who doesn't have newicons installed, they will only see a very tiny icon. @endnode